package com.suncnpap.library.service;


import com.github.pagehelper.PageInfo;
import com.suncnpap.library.model.Library;

import java.util.List;

import com.app.util.database.mybatis.Page;
import com.suncnpap.library.model.hotResult;
import com.suncnpap.library.model.hotVo;
import com.suncnpap.statistics.model.LatelyVo;

/** 
 * 说明： 书库Service接口
 * @version
 */
public interface LibraryService{
	
	/**新增
	 * @param obj
	 * @
	 */
	public  void add(Library obj);
	
	/**修改
	 * @param obj
	 */
	public void update(Library obj);
	
	
	/**删除
	 * @param obj
	 * @
	 */
	public void deleteById(String strId);
	
	/**批量删除
	 * @param strId
	 * @
	 */
	public void deleteMore(String[] strIds);
	
	
	/**通过id获取数据
	 * @param strId
	 * @
	 */
	public Library findById(String strId);
	
	/**列表
	 * @param page
	 * @
	 */
	public Page list(Page page);
		
	
	/**
	 * 查询条数
	 * @param page
	 * @return
	 * @
	 */
	public int findCount(Page page) ;
	
	/**
	 * 借出
	 * @param strId
	 */
	public void updateBorrowById(String strBookBarcode, String strSchoolId);
	
	/**
	 * 归还
	 * @param strId
	 */
	public void updateReturnById(String strBookBarcode, String strSchoolId);
	
	public Page libraryList(Page page);
	
	/**通过id获取数据
	 * @param strId
	 * @
	 */
	public Library findByBookBarcode(String strBookBarcode, String strSchoolId);
	
	/**列表
	 * @param page
	 * @
	 */
	public Page categoryList(Page page);
	
	/**列表
	 * @param page
	 * @
	 */
	public Page collectionTypelist(Page page);

	/**新增list
	 * @param obj
	 * @
	 */
	public  void addList(List<Library> objList);
	
	public String getMaxBookNumber(String strClassNumber, String strSchoolId);


	/**
	 * 热门图书
	 * @param hotVoConditions
	 * @param page
	 * @param size
	 * @return
	 */
	PageInfo<hotResult> getHotBookList(hotVo hotVoConditions, Integer page, Integer size);

    List<Library> pressList();

	/**
	 * 是否被借出
	 * @param strBookBarcode
	 * @param strSchoolId
	 * @return
	 */
    Library strBookBarcode(String strBookBarcode, String strSchoolId);

	/**
	 * 多字段搜索
	 * @param latelyVo
	 * @return
	 */
	List<Library> manyLately(LatelyVo latelyVo);
}

